﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WPFDataModel.DataModel;

namespace WPFDataModel
{
    public class DataConnection
    {
        #region Static
        public static DataConnection GetDataConnection()
        {
            if (m_dataConnection == null)
            {
                m_dataConnection = new DataConnection();
            }

            return m_dataConnection;
        }

        private static DataConnection m_dataConnection;
        #endregion

        #region Member
        private DataModelContainer m_dataModel;
        #endregion

        #region Properties
        public DataModelContainer DataModel
        {
            get { return m_dataModel; }
            set { m_dataModel = value; }
        }
        #endregion

        #region Konstruktor
        public DataConnection()
        {
            DataModel = new DataModelContainer();
            CreateDatabase();
        }

        #endregion

        #region Public Functions
        /// <summary>
        /// Achtung wird nicht benötigt, da hier keine DB Updates eingespielt werden können sondern die DB nur
        /// einmalig angelegt wird. Muss anders gelöst werden, da auch spätere DB Updates selbst geschrieben werden müssen
        /// Bei einem Update des Tools: http://visualstudiogallery.msdn.microsoft.com/df3541c3-d833-4b65-b942-989e7ec74c87/view/Reviews/
        /// nicht mehr notwendig, denn dann können DB Updates erstellt werden im VS.
        /// </summary>
        /// <returns></returns>
        public bool CreateDatabase()
        {
           if (!DataModel.DatabaseExists())
           {
               DataModel.CreateDatabase();
               return true;
           }

            return false;
        }
        #endregion

        #region Events
        #endregion
    }
}
